package com.example.memorypoint.mvp.aichat;

import com.example.memorypoint.entity.Msg;
import java.util.List;

public interface AiChatContract {

    // View 接口：定义界面更新方法
    interface AiChatView {
        // 添加一条消息（比如初始消息或用户发送的消息）
        void addMessage(Msg msg);
        // 替换指定位置的消息（例如替换“正在思考...”的加载消息）
        void updateMessageAt(int index, Msg msg);
        // 显示错误信息
        void showError(String error);
        // 获取当前消息列表的大小（用于确定“加载中...”消息的位置）
        int getMessageListSize();
    }

    // Presenter 接口：定义业务逻辑方法
    interface AiChatPresenter {
        // 初始化聊天界面，比如显示初始欢迎消息
        void initChat();
        // 处理发送消息逻辑
        void sendMessage(String message);
        // 分离 View（防止内存泄漏）
        void detachView();
    }
}
